<?php
// 应用公共文件
use think\facade\Log;
use think\facade\Request;

/**
 * 通用化API数据格式输出
 * @DateTime 2021-09-18
 * @version  v1
 * @param    integer     $status    业务状态码
 * @param    string     $message    提示
 * @param    array      $data       返回数据
 * @param    integer    $httpStatus 头部信息状态码
 * @return   josn		返回信息
 */

function returnResult($status,$message = 'error',$data = [],$httpStatus =200)
{
    $result = [
        "code" =>$status,
        "message" => $message,
        "result" => $data
    ];
    return json($result,$httpStatus);
}

/**
 * 业务层数据格式输出
 * @param $status
 * @param string $message
 * @param array $data
 * @param int $httpStatus
 */
function returnResultExit($status,$message = 'error',$data = [],$httpStatus =200){
    $result = [
        "code" =>$status,
        "message" => $message,
        "data" => $data
    ];
    exit(json_encode($result, JSON_UNESCAPED_UNICODE));
}

/**
 * WS服务返回
 * @param array $data
 * @param int $code
 * @param string $msg
 * @param string $sign
 * @return false|string
 */
function wsReturnRst($data = [], $code = 200, $msg = 'success',$sign='')
{
    $returnRst['data'] = $data;
    $returnRst['code'] = $code;
    $returnRst['msg']  = $msg;
    $returnRst['sign']  = $sign;
    return(json_encode($returnRst, JSON_UNESCAPED_UNICODE));
}
/**
 * 记录日志
 * @param string $methodName 执行的方法
 * @param string $content 输出内容
 * @param string $remarks 备注
 */
function logWrite(string $methodName='无', string $content='无', string $remarks='无')
{
    Log::info("【执行方法:】{$methodName}   【内容:】{$content}    【备注:】{$remarks}");
}
